home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
PsL Monthly 1993 December
/
PSL Monthly Shareware CD-ROM (December 1993).iso
/
prgmming
/
dos
/
c
/
bor_ti.exe
/
TI1152.ASC
< prev
next >
Wrap
Text File
|
1992-11-04
|
2KB
|
133 lines
PRODUCT : Borland C++ NUMBER : 1152
VERSION : 3.1
OS : ALL
DATE : November 4, 1992 PAGE : 1/2
TITLE : Example of function returning pointer to function.
This is an example demonstrating a function that returns a
pointer to a function.
/*
This is an example demonstrating a function
that returns a pointer to a function.
Expected output should be
in bar()
A comes before B
*/
#include <stdio.h>
/*
funcptr is a pointer to a function that
takes a single argument of type char and returns
nothing.
*/
typedef void (*funcptr)( char );
/*
foo is a function takes a single argument of type char
and returns nothing.
*/
void foo( char letter )
{
printf( "%c comes before %c\n", letter, letter + 1 );
}
/*
bar is a function that takes no arguments and returns
a pointer to a function that takes a single argument
of type char and returns nothing.
*/
funcptr bar( void )
{
printf( "in bar()\n" );
PRODUCT : Borland C++ NUMBER : 1152
VERSION : 3.1
OS : ALL
DATE : November 4, 1992 PAGE : 2/2
TITLE : Example of function returning pointer to function.
return foo;
}
void main( void )
{
/*
Line B below is equivalent to:
void (*f)(char) = bar();
Thus, f is a pointer to a function X that takes one argument
of type char and X returns a pointer to a function of type
void (*)(int). Note that f doesn't point to the function
bar(); it points to what bar() returns.
*/
/* Line A is equivalent to Line B */
/* void (*f)(char) = bar(); */ /* Line A */
funcptr f = bar(); /* Line B */
/*
Now call the function that f points to. Since f points to
function foo(), which takes a single argument of type char,
we want to pass it a single char argument.
*/
f('A');
}
DISCLAIMER: You have the right to use this technical information
subject to the terms of the No-Nonsense License Statement that
you received with the Borland product to which this information
pertains.